Open Bug 1298658 Opened 8 years ago Updated 2 years ago

Broken WebM VP9 video could not be decoded but Chrome can play

Categories

(Core :: Audio/Video: Playback, defect, P3)

51 Branch
defect

Tracking

()

REOPENED
Tracking Status
firefox71 --- wontfix

People

(Reporter: yfdyh000, Unassigned)

References

()

Details

(Keywords: parity-chrome, regression, testcase)

STR:
Open http://vod1.dgxue.com/0001.%E7%94%B5%E8%B7%AF%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5.webm


Actual result:
It works in Chrome and PotPlayer.
It doesn't work in old versions of FF too.
Due to bug 951770, it plays fine in Fx28.
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Ever confirmed: true
Keywords: regression
OS: Windows 10 → All
Hardware: x86_64 → All
Whiteboard: [parity-chrome]
[MediaPlayback #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[MediaPlayback #2]: D/PlatformDecoderModule Initialising FFmpeg decoder.
[MediaPlayback #2]: D/PlatformDecoderModule FFmpeg init successful.
[MediaPlayback #2]: D/PlatformDecoderModule Agnostic decoder supports requested type
[MediaPDecoder #1]: D/PlatformDecoderModule Choosing FFmpeg pixel format for video decoding.
[MediaPDecoder #1]: D/PlatformDecoderModule Requesting pixel format YUV420P.
[MediaPDecoder #1]: D/PlatformDecoderModule DoDecodeFrame:decode_video: rv=71 decoded=0 (Input: pts(7000) dts(7000) Output: pts(-9223372036854775808) opaque(0) pkt_pts(-9223372036854775808) pkt_dts(-9223372036854775808))
[MediaPDecoder #1]: D/PlatformDecoderModule DoDecodeFrame:decode_video: rv=24 decoded=1 (Input: pts(118000) dts(118000) Output: pts(-9223372036854775808) opaque(-9223372036854775808) pkt_pts(7000) pkt_dts(7000))
[MediaPDecoder #1]: D/PlatformDecoderModule Got one frame output with pts=7000 dts=7000 duration=111000 opaque=-9223372036854775808
[MediaPDecoder #1]: D/PlatformDecoderModule DoDecodeFrame:decode_video: rv=26 decoded=0 (Input: pts(118000) dts(118000) Output: pts(-9223372036854775808) opaque(0) pkt_pts(-9223372036854775808) pkt_dts(-9223372036854775808))
(In reply to YF (Yang) from comment #2)
> Due to bug 951770, it plays fine in Fx28.

I tested FF 21/25/29/33, no playback.
Invalid Opus header: CodecDelay and pre-skip do not match!: file mozilla-central/dom/media/platforms/agnostic/OpusDecoder.cpp, line 87

The decision was made to not play files that are incorrectly encoded. There was an early bug in ffmpeg generating those files.

You only need to re-run them through a recent ffmpeg to fix it.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
Resolution: INVALID → WONTFIX
Given that Chrome will play this file, we should either change Firefox or add telemetry to monitor this situation.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Chrome is the only browser playing this file. Hardly web compatibility..

So are going to allow playing any files ffmpeg plays (and a broken file ffmpeg generated in the first place)?
Should add that seeking in those files will be broken (seeking to the end will cause the opus decoder to fail) and A/V sync off
We can add telemetry to track if it is a problem in the real world.
If Chrome does a broken job of playing the video then I'm happy to say it isn't a compat issue and re-close the bug as invalid.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #9)
> We can add telemetry to track if it is a problem in the real world.

A user report it to user forum, and then had to use Chrome to plays it.

The video on webpage: http://www.dgxue.com/vod/diangongxue/4648.html 
The forum post: https://www.firefox.net.cn/read-53661
You could respond there that this video was generated by a very old and broken version of FFmpeg... 
I don't see how today you could create such file even if you wanted to...

it was only broken in a dev version of ffmpeg and was quickly fixed.
Mass bug change to replace various 'parity' whiteboard flags with the new canonical keywords. (See bug 1443764 comment 13.)
Keywords: parity-chrome
Whiteboard: [parity-chrome]

updated url.

Keywords: testcase
Summary: WebM VP9 video could not be decoded → Broken WebM VP9 video could not be decoded but Chrome can play
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.